'use strict';

//云函数：加密密语
const db = uniCloud.database(); //打开链接
const collection = db.collection('cryptolalia'); //指定表

exports.main = async (event, context) => {

	let res = null;
	let count = null;

	// 1. 检查参数
	if (!event.message) {
		return {
			code: 0,
			msg: '请检查传参！'
		};
	}


	// 2. 查询数据
	// 如果添加成功返回成功添加的数据id
	// 用数据库数据总量当加密密文,可以不需要密码
	try {
		count = await collection.count();
		res = await collection.add({
			ciphertext: count.total + 1,
			password: event.password || '',
			message: event.message
		});
	} catch (e) {
		//TODO handle the exception
		return {
			code: 0,
			msg: JSON.stringify(e)
		};
	}



	// 3. 整理数据，返回数据
	if (res) {
		return {
			code: 1,
			msg: '加密成功',
			data: {
				ciphertext: count.total + 1
			}
		};
	} else {
		return {
			code: 0,
			msg: '加密失败'
		};
	}





};
